package com.integralPerformance.mapper;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.integralPerformance.pojo.entity.ServiceInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.integralPerformance.pojo.excel.ServiceInfoExcel;
import com.integralPerformance.pojo.query.GetMyServiceInfoQuery;
import com.integralPerformance.pojo.query.ServiceInfoQuery;
import com.integralPerformance.pojo.vo.ExportServiceInfoVo;
import com.integralPerformance.pojo.vo.ServiceInfoByNameAndYearVo;
import com.integralPerformance.pojo.vo.ServiceInfoVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
* @author admin
* @description 针对表【service_info(公共服务信息维护)】的数据库操作Mapper
* @createDate 2024-03-14 17:04:57
* @Entity com.integralPerformance.pojo.entity.ServiceInfo
*/
@Mapper
public interface ServiceInfoMapper extends BaseMapper<ServiceInfo> {

    Page<ServiceInfoVo> getServiceInfo(Page<ServiceInfoVo> page, @Param("qu") ServiceInfoQuery serviceInfoQuery);

    String validTeacherName(@Param("teacherName") String teacherName);

    Integer validServiceName(@Param("serviceName")String serviceName);

    Page<ServiceInfoVo> getServiceInfoById(Page<ServiceInfoVo> page, @Param("qu")GetMyServiceInfoQuery getMyServiceInfoQuery);

    List<ServiceInfoVo> getServiceInfoByTeacherId(@Param("teacherId") String teacherId);

    boolean judge(@Param("qu") ServiceInfoExcel serviceInfoExcel);

    List<Integer> saveList(@Param("list")List<ServiceInfoExcel> cachedDataList);

    List<ServiceInfoVo> getSaveDataIdList(@Param("qu")List<Integer> saveDataIdList);

    List<ExportServiceInfoVo> downloadByBatch(@Param("qu")ServiceInfoQuery serviceInfoQuery);


    Page<ServiceInfoByNameAndYearVo> getPageServiceInfoByNameAndYear(Page<ServiceInfoByNameAndYearVo> page,@Param("qu")ServiceInfoQuery serviceInfoQuery);

    List<ServiceInfoVo> getServiceInfoByNameAndYear(@Param("teacherName")String teacherName,@Param("year") String year,@Param("qu") ServiceInfoQuery serviceInfoQuery);
}




